
Public Class SecurityIDSourceFieldInfo
	Inherits FieldInfo

	Public Overrides ReadOnly Property ClrType() As Type
		Get
		Return GetType(String)
		End Get
	End Property
	Public Overrides ReadOnly Property FixType() As FixDataType
		Get
		Return FixDataType.String
		End Get
	End Property
	Public Overrides ReadOnly Property TagNumber() As Integer
		Get
		Return 22
		End Get
	End Property
	Public Overrides ReadOnly Property FieldName() As String
		Get
		Return "SecurityIDSource"
		End Get
	End Property

	Private ReadOnly s_ValidValues As new ObjectModel.ReadOnlyCollection(Of String)( New String(){"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J"})

Public Const [Cusip] As String = "1"
Public Const [Sedol] As String = "2"
Public Const [Quik] As String = "3"
Public Const [IsinNumber] As String = "4"
Public Const [RicCode] As String = "5"
Public Const [IsoCurrencyCode] As String = "6"
Public Const [IsoCountryCode] As String = "7"
Public Const [ExchangeSymbol] As String = "8"
Public Const [ConsolidatedTapeAssociation] As String = "9"
Public Const [BloombergSymbol] As String = "A"
Public Const [Wertpapier] As String = "B"
Public Const [Dutch] As String = "C"
Public Const [Valoren] As String = "D"
Public Const [Sicovam] As String = "E"
Public Const [Belgian] As String = "F"
Public Const [Common] As String = "G"
Public Const [ClearingHouseClearingOrganization] As String = "H"
Public Const [IsdaFpmlProductSpecification] As String = "I"
Public Const [OptionsPriceReportingAuthority] As String = "J"

Public Function GetValidValues() As ObjectModel.ReadOnlyCollection(Of String)
Return s_ValidValues
End Function

Public Function IsDefined(value As String) As Boolean
Return s_ValidValues.Contains(value)
End Function

Public Function GetName(ByVal value As String) As String
Select Case value
Case "1" : Return "Cusip"
Case "2" : Return "Sedol"
Case "3" : Return "Quik"
Case "4" : Return "IsinNumber"
Case "5" : Return "RicCode"
Case "6" : Return "IsoCurrencyCode"
Case "7" : Return "IsoCountryCode"
Case "8" : Return "ExchangeSymbol"
Case "9" : Return "ConsolidatedTapeAssociation"
Case "A" : Return "BloombergSymbol"
Case "B" : Return "Wertpapier"
Case "C" : Return "Dutch"
Case "D" : Return "Valoren"
Case "E" : Return "Sicovam"
Case "F" : Return "Belgian"
Case "G" : Return "Common"
Case "H" : Return "ClearingHouseClearingOrganization"
Case "I" : Return "IsdaFpmlProductSpecification"
Case "J" : Return "OptionsPriceReportingAuthority"
Case Else : Throw New ArgumentOutOfRangeException("value")
End Select
End Function

Public Function GetValue(ByVal name As String) As String
Select Case name
Case "Cusip" : Return "1"
Case "Sedol" : Return "2"
Case "Quik" : Return "3"
Case "IsinNumber" : Return "4"
Case "RicCode" : Return "5"
Case "IsoCurrencyCode" : Return "6"
Case "IsoCountryCode" : Return "7"
Case "ExchangeSymbol" : Return "8"
Case "ConsolidatedTapeAssociation" : Return "9"
Case "BloombergSymbol" : Return "A"
Case "Wertpapier" : Return "B"
Case "Dutch" : Return "C"
Case "Valoren" : Return "D"
Case "Sicovam" : Return "E"
Case "Belgian" : Return "F"
Case "Common" : Return "G"
Case "ClearingHouseClearingOrganization" : Return "H"
Case "IsdaFpmlProductSpecification" : Return "I"
Case "OptionsPriceReportingAuthority" : Return "J"
Case Else : Throw New ArgumentOutOfRangeException("name")
End Select
End Function




End Class


